Le fonctionnement Cyclique avec l'activation du système a chaque top d'horloge. Il suit l'algorithme suivant :
A chaque top d'horloge faire
Lecture de la mémoire des entrées
Calcul des ordres à envoyer au procédé
Émission des ordres
Fin
Cependant ce type de systèmes est peu « réactif » si l'environnement produit des informations a des fréquences différentes ce qui oblige à prévoir toutes les réactions du systèmes dans la même boucle donc il y a un problème de performance et en est obligé à imbriquer des boucles de fréquences multiples ce qui implique des difficultés de réalisation, de lisibilité du code et d'évolution.
Le Fonctionnement Événementiel est basé sur le principe d'activation du système à chaque événement
A chaque interruption faire
Lecture de l’information arrivée
Activation du traitement correspondant
Émission des ordres issus de ce traitement
Fin
Mais dans ce cas le problème réside dans le cas ou une interruption survient alors que le système est en train de traiter une interruption précédente, ce qui implique des contraintes de programmation:
- de priorité des interruptions
-notion de "tâche" associée à une ou plusieurs interruptions
-mécanisme de préemption et de reprise de tâche
-gestion de l'exécution concurrente des tâches (ordonnancement)